‘Mobile IP’ is a set of IETF protocols that allows a mobile device that communicates using IP packets to move and use different routers in different data networks as it moves. The common term for referring to the mobile device is ‘Mobile Node’.
The two main Mobile IP protocols currently in use are called ‘Mobile IPv4’ and ‘Mobile IPv6’, which use IPv4 and IPv6 type IP addresses, respectively.
The “IP Mobility Support for IPv4” protocol (hereafter, “Mobile IPv4”) is described in the RFC 3344 specifications (Request for Comments 3344), published online by the IETF (Internet Engineering Task Force), C. Perkins, August of 2002, currently available online at http://www.ietf.org./rfc/rfc3344.txt.
The “Mobility Support in IPv6” protocol (hereafter, “MIPv6” or “Mobile IPv6”) is described in the RFC 3775 specifications, published online by the IETF, D. Johnson et al., June of 2004, currently available online at http://www.iett.org/rfc/rfc3775.txt
A very brief explanation of a Mobile IP operation is described below.
A ‘Mobile Node’ can have two IP addresses: a permanent address called the ‘Home Address’, and a changeable address called the ‘Care-of-Address’ (CoA), which is an address associated with the network the Mobile Node is visiting at any given moment.
A device called ‘Home Agent’ stores the information from the Mobile Nodes whose permanent IP address belongs to the same network as the Home Agent. When the Mobile Node is on its permanent network, it does not need to use the mobility services.
When a node on the network, usually called the Correspondent Node, wants to send IP packets to a Mobile Node found on a remote network, it uses the Mobile Node's permanent address (i.e. the Home Address) to send the IP packets. These IP packets are intercepted by the Home Agent, which encapsulates the packets, adding a new IP header to them, and forwards them via a tunnel to the remote network's CoA address where the Mobile Node is located.
To encapsulate and send the packets via a tunnel, the Home Agent and the Mobile Node can use various protocols, including, for example, the “IP Encapsulation within IP” protocol, described in RFC 2003, published online by the IETF, Perkins et al., October of 2003, currently available online at http://www.ietf.org/rfc/rfc2003.txt.
In Mobile IPv4, a device called a ‘Foreign Agent’, which is a router that provides mobility services to the Mobile Node, can be used in the remote network. Foreign Agents do not exist in Mobile IPv6.
In Mobile IPv4, a Mobile Node can obtain its CoA IP in one of two ways. A first way is through a Foreign Agent. The CoA address obtained in this manner is called a ‘Foreign Agent Care-of-Address’ (Foreign Agent CoA). In this case, the Mobile Node IP address is a Foreign Agent IP address. Several Mobile Nodes can use the same Foreign Agent CoA. The Foreign Agent is the end of the tunnel. When the Foreign Agent receives an IP packet addressed to the Mobile Node, the Foreign Agent removes the encapsulation and delivers the original packet to the Mobile Node.
A second way a Mobile Node in Mobile IPv4 may obtain a CoA address does not include the use of a Foreign Agent. The Mobile Node can directly obtain an IP address on the remote network by using the Dynamic Host Configuration protocol (DHCP), for example, and associating this IP address to one of the Mobile Node network interfaces. Addresses obtained this way are called ‘Co-located Care-of-Addresses’ (CCoA). This method has the advantage of allowing the Mobile Node to operate without the need of a Foreign Agent. When it uses a CCoA, the Mobile Node is the end of the tunnel, and when it receives a packet from the Home Agent, it removes the encapsulation and recovers the original packet.
When a Mobile Node is located outside of its permanent network and wants to send IP packets to a Correspondent Node, the Mobile Node can do so in one of various ways, as described below.
One way, common to both Mobile IPv4 and Mobile IPv6, is to encapsulate the packets addressed to the Correspondent Node and send them first to the Home Agent via a tunnel, so that the Home Agent can send them to the Correspondent Node. The procedure is called Reverse Tunneling and its use in Mobile IPv4 is described in RFC 3024, G. Montenegro, January of 2001, currently available online at http://www.ietf.org/rfc/rfc3024.txt. Its use in Mobile IPv6 is described in section 11.3.1 of the RFC 3775 mentioned previously.
When the Mobile Node is located on a remote network, it can also send the IP packets directly to the Correspondent Node in different ways without passing through the Home Agent.
In Mobile IPv4, a Mobile Node can send IP packets directly to the Correspondent Node using the Home Address as the source address for those packets. This causes a problem with the routers on the data network that use ingress filtering, which checks to see whether the source address for the IP packets being transmitted corresponds to a correct IP address based on the network topology.
Mobile IPv6 allows a Mobile Node to send IPv6 packets directly to the Correspondent Node without them passing through the Home Agent, but only when the Mobile Node and the Correspondent Node have completed a registration process called ‘binding’. In this case, it uses a process called ‘Route Optimization’, which avoids problems with routers that use ingress filtering. A detailed description is found in the RFC 3375 discussed previously.
One problem that Mobile IP has to deal with is security. There are numerous IETF documents that describe security protocols, many of which are interrelated.
The RFC 3776 specifications, titled, “Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents,” describe the security mechanisms first recommended by the IEFT for use in Mobile IPv6. These are published online by the IETF, J. Arkko et al., June of 2004, and are currently available online at http://www.ietf.org/rfc/rfc3776.txt
In 2005, the IETF updated the IPsec system architecture. The new architecture is described in the RFC 4301 specifications, published online by the IETF, S. Kent et al., December of 2005, currently available online at http://www.ietf.org/rfc/4301.txt.
Since IPsec implementation is complicated and generates some problems, the IEFT published a document in 2006 describing another, simpler authentication mechanism for Mobile IPv6, similar to the one used by Mobile IPv4. The document is titled, “Authentication Protocol for Mobile IPv6”, described in the RFC 4285 specifications, published online by the IEFT, A. Patel et al., January of 2006, currently available online at http://www.ietf.org/rc/rfc4285.
There is also an update of RFC 3776, titled, “Mobile IPv6 Operation with IKEv2 and the revised IPsec architecture.” This is RFC 4877, published online by the IETF, V. Devarapalli et al., April of 2007, currently available online at http://www.ietf.org/rfc/rfc4877.
Although Mobile IP protocol security is based on establishing a ‘Security Association’ between the Mobile Node and the Home Agent, the majority of telecommunications companies and Internet access providers use AAA (Authentication, Authorization and Accounting) infrastructures to manage their clients' access to the Internet. As a result, over the past few years, the Mobile IPv4 and Mobile IPv6 protocols have been modified so that they can operate with AAA servers to permit these servers to be in charge of managing the authentication, authorization and accounting of devices that use Mobile IPv4 and Mobile IPv6 protocols.
The IETF has described two AAA server protocols called RADIUS and DIAMETER.
RADIUS (Remote Authentication Dial In User Service) is explained in the RFC 2865 specifications, published online by the IETF, C. Rigney et al., June of 2000, currently available online at htpp://www.ietf.org/rfc/rfc2865.txt.
DIAMETER is explained in the RFC 3588 specifications, published online by the IETF, P. Calhoun et al., September of 2003, currently available online at http://www.ietf.org/rfc/rfc3588.txt.
The use of AAA servers with Mobile IPv4 is described in the RFC 3957 specifications, published online by the IETF, C. Perkins et al., March of 2005, currently available online at http://www.ietf.org/rfc/rfc3957.txt.
Another problem that needs to be solved by Mobile IP technology regards a process that occurs when a Mobile Node changes from one router to another. This process of changing between routers is called ‘handover’. When a Mobile Node changes from a first to a second router, the change needs to be made as quickly as possible to avoid leaving the Mobile Node unable to send or receive IP packets for a period of time (e.g., a few seconds). A mechanism is also needed to prevent IP packets arriving at the first router from being lost when the Mobile Node is no longer connected to it. For example, in a Voice Over IP (VoIP) application, a few-second latency or delay in receiving and forwarding packets is unacceptable.
To solve the problems associated with the handover, the IETF has published two documents, each proposing different solutions. These documents are called FHMIPv6 and HMIPv6, and are cited below.
The document, titled, “Fast Handover for Mobile IPv6” (FHMIPv6), described in the RFC 4068 specifications, published online by the IETF, R. Koodli, July of 2005, is currently available online at htttp://www.ietf.org/rfc/rfc4068.txt.
The document, titled, “Hierarchical Mobile IPv6 Mobility Management” (HMIPv6) described in the RFC 4140 specifications, published online by the IETF, H. Soliman et al., August of 2005, is currently available online at http://www.ietf.org/rfc/rfc4140.txt.
However, these two solutions to the aforementioned latency problems generated during the handover process are only partial solutions, and problems with delays when a Mobile Node changes from one router to another still exist. The present invention allows the handover process to take place in an improved manner, reducing the latency in the process.